gtk4.git
6 years agotextview: Stop exporting private apis
Matthias Clasen [Sun, 21 Jul 2019 18:49:13 +0000 (11:49 -0700)]
textview: Stop exporting private apis

These headers are no longer 'semi-public, but private
and uninstalled, so exporting these functions does
not do any good.

6 years agogsk: Fix a crash in gsk_render_node_diff
Matthias Clasen [Sun, 21 Jul 2019 20:18:58 +0000 (13:18 -0700)]
gsk: Fix a crash in gsk_render_node_diff

The only thing worse than freeing the same
cairo region twice is freeing it three times.

6 years agotext: Smooth cursor blinking
Matthias Clasen [Sun, 21 Jul 2019 01:12:05 +0000 (18:12 -0700)]
text: Smooth cursor blinking

Fade the text cursor in and out, instead
of abruptly turning it on and off.

6 years agoAdwaita: Fix entry block cursors
Matthias Clasen [Sun, 21 Jul 2019 16:50:41 +0000 (09:50 -0700)]
Adwaita: Fix entry block cursors

6 years agoUpdate Basque translation
Asier Sarasua Garmendia [Sun, 21 Jul 2019 18:02:07 +0000 (18:02 +0000)]
Update Basque translation

6 years agoUpdate Turkish translation
Serdar Sağlam [Sun, 21 Jul 2019 14:15:15 +0000 (14:15 +0000)]
Update Turkish translation

6 years agowindow: Plug a GList leak
Timm Bäder [Sun, 21 Jul 2019 09:08:45 +0000 (11:08 +0200)]
window: Plug a GList leak

We need to free the GList manually when using g_list_remove_link().

6 years agogtk.supp: Add glXQueryServerString exceptions
Timm Bäder [Sun, 21 Jul 2019 10:23:56 +0000 (12:23 +0200)]
gtk.supp: Add glXQueryServerString exceptions

6 years agogl renderer: Remove leftover modelview matrix
Timm Bäder [Sun, 21 Jul 2019 10:11:36 +0000 (12:11 +0200)]
gl renderer: Remove leftover modelview matrix

We use a GskTransform there nowadays.

6 years agoRevert "gl renderer: ops_set_modelview is (transfer full)"
Timm Bäder [Sun, 21 Jul 2019 10:43:00 +0000 (12:43 +0200)]
Revert "gl renderer: ops_set_modelview is (transfer full)"

This reverts commit e904c49e8aaebc266bac9024b13389e4521bbbaa.

This breaks HiDPI setups, i.e. setups where the call to
ops_set_modelview does not end up with a NULL transform.

6 years agowindow: Merge some functions into their only callers
Timm Bäder [Sun, 21 Jul 2019 08:52:12 +0000 (10:52 +0200)]
window: Merge some functions into their only callers

So it's clear we only add or remove the pointerfocus-es in
_update_pointer_focus.

6 years agocellrenderertext: Remove some unnecessary NULL checks
Timm Bäder [Sun, 21 Jul 2019 08:26:00 +0000 (10:26 +0200)]
cellrenderertext: Remove some unnecessary NULL checks

6 years agocellrenderertext: Don't unnecessarily ref a layout
Timm Bäder [Sun, 21 Jul 2019 08:22:05 +0000 (10:22 +0200)]
cellrenderertext: Don't unnecessarily ref a layout

We never pass a NULL layout to get_size().

6 years agotextlayout: Remove some outdated comments
Timm Bäder [Sun, 21 Jul 2019 08:02:30 +0000 (10:02 +0200)]
textlayout: Remove some outdated comments

These two members have been commented out for 19 years.

6 years agoentry: Measure icons again
Timm Bäder [Sun, 21 Jul 2019 07:58:08 +0000 (09:58 +0200)]
entry: Measure icons again

This was previously removed because it changes the minimum and natural
size of the entry when the icons are shown/hidden at runtime. Just not
measuring them does not work however, so reintroduce this.

6 years agoplacesview: Make "Other Locations" search case-insensitive
Timm Bäder [Sun, 21 Jul 2019 07:51:54 +0000 (09:51 +0200)]
placesview: Make "Other Locations" search case-insensitive

It's just weird to search for "c" and not find the list item labelled
"Computer".

6 years agolinedisplay: Save paragraph bg color inline
Timm Bäder [Sun, 21 Jul 2019 07:47:09 +0000 (09:47 +0200)]
linedisplay: Save paragraph bg color inline

No need to allocate this separately.

6 years agogtk.supp: Add a pixman_image_composite32 exception
Timm Bäder [Sun, 21 Jul 2019 07:13:24 +0000 (09:13 +0200)]
gtk.supp: Add a pixman_image_composite32 exception

6 years agogtk.supp: add a FcDefaultSubstitute exception
Timm Bäder [Sun, 21 Jul 2019 07:07:27 +0000 (09:07 +0200)]
gtk.supp: add a FcDefaultSubstitute exception

6 years agorendernodeparser: Fix a memory leak when parsing glyphs
Timm Bäder [Sun, 21 Jul 2019 07:06:50 +0000 (09:06 +0200)]
rendernodeparser: Fix a memory leak when parsing glyphs

6 years agorendernodeparser: Fix a memory leak when parsing textures
Timm Bäder [Sun, 21 Jul 2019 07:06:29 +0000 (09:06 +0200)]
rendernodeparser: Fix a memory leak when parsing textures

6 years agogl renderer: ops_set_modelview is (transfer full)
Timm Bäder [Sun, 21 Jul 2019 07:06:10 +0000 (09:06 +0200)]
gl renderer: ops_set_modelview is (transfer full)

regarding the passed modelview matrix

6 years agogl renderer: Pull out code from a loop
Timm Bäder [Sat, 20 Jul 2019 11:04:26 +0000 (13:04 +0200)]
gl renderer: Pull out code from a loop

Does not not actually depend on anything done inside the loop.

6 years agoUpdate Croatian translation
Goran Vidović [Fri, 19 Jul 2019 21:29:56 +0000 (21:29 +0000)]
Update Croatian translation

6 years agoUpdate Croatian translation
Goran Vidović [Fri, 19 Jul 2019 21:20:13 +0000 (21:20 +0000)]
Update Croatian translation

6 years agogl renderer: Replace a redundant function call
Timm Bäder [Fri, 19 Jul 2019 14:42:56 +0000 (16:42 +0200)]
gl renderer: Replace a redundant function call

We're already getting the radius from the node above.

6 years agofilechooserwidget: Fold function into only caller
Timm Bäder [Fri, 19 Jul 2019 08:14:54 +0000 (10:14 +0200)]
filechooserwidget: Fold function into only caller

6 years agofilechooserwidget: Don't emit default-size-changed() in unroot()
Timm Bäder [Fri, 19 Jul 2019 07:59:17 +0000 (09:59 +0200)]
filechooserwidget: Don't emit default-size-changed() in unroot()

It doesn't make much sense to assume the default size has changed just
because the widget has been unrooted.

6 years agofilechooser: Remove SETTINGS_KEY_WINDOW_POSITION
Timm Bäder [Fri, 19 Jul 2019 07:55:11 +0000 (09:55 +0200)]
filechooser: Remove SETTINGS_KEY_WINDOW_POSITION

Now unused.

6 years agofilechooserwidget: Don't look at saved window position
Timm Bäder [Fri, 19 Jul 2019 07:54:30 +0000 (09:54 +0200)]
filechooserwidget: Don't look at saved window position

We don't save it anymore so no need to look at it here.

6 years agofilechooserdialog: Stop using gtk_window_get_position()
Timm Bäder [Fri, 19 Jul 2019 07:54:14 +0000 (09:54 +0200)]
filechooserdialog: Stop using gtk_window_get_position()

6 years agoRevert "file chooser: Stop using gtk_window_get_position"
Timm Bäder [Fri, 19 Jul 2019 07:47:16 +0000 (09:47 +0200)]
Revert "file chooser: Stop using gtk_window_get_position"

This reverts commit 2ed533c3e1f0fe776fb24cc370447a0c63e49f24.

This also made the filechooser dialog not save the window size anymore,
which does not depend on the gtk_window_get_position() removal.

6 years agogtkfilechooserwidget: Temporarily disable revealer transitions...
Timm Bäder [Fri, 19 Jul 2019 07:36:25 +0000 (09:36 +0200)]
gtkfilechooserwidget: Temporarily disable revealer transitions...

... when going between recent and browse. It just looks weird to have
this transition while the treeview model is just cleared/repopulated
without any transition.

6 years agoplacessidebar: Remove sidebar border again
Timm Bäder [Fri, 19 Jul 2019 06:04:45 +0000 (08:04 +0200)]
placessidebar: Remove sidebar border again

6 years agoMerge branch 'tests-no-box-packing' into 'master'
Christoph Reiter [Thu, 18 Jul 2019 19:32:19 +0000 (19:32 +0000)]
Merge branch 'tests-no-box-packing' into 'master'

testsuite: Remove dangling references to box-packing tests

See merge request GNOME/gtk!997

6 years agoMerge branch 'pc-libs-private' into 'master'
Emmanuele Bassi [Thu, 18 Jul 2019 10:31:19 +0000 (10:31 +0000)]
Merge branch 'pc-libs-private' into 'master'

gtk4.pc: Move third-party libraries from Libs to Libs.private

See merge request GNOME/gtk!998

6 years agoMerge branch 'gtk-4-support-tcrypt-with-proxy-handler' into 'master'
Emmanuele Bassi [Thu, 18 Jul 2019 10:11:12 +0000 (10:11 +0000)]
Merge branch 'gtk-4-support-tcrypt-with-proxy-handler' into 'master'

gtkmountoperation: Support TCRYPT options when using proxy handler

See merge request GNOME/gtk!245

6 years agogtkmountoperation: Support TCRYPT options when using proxy handler
segfault [Mon, 9 Jul 2018 19:13:50 +0000 (21:13 +0200)]
gtkmountoperation: Support TCRYPT options when using proxy handler

GMountOperation now supports options to unlock TCRYPT volumes. This
patch sets these options if they are returned by AskPassword() of a
GtkMountOperationHandlerProxy.

6 years agotestsuite: Remove dangling references to box-packing tests
Simon McVittie [Wed, 17 Jul 2019 10:01:57 +0000 (11:01 +0100)]
testsuite: Remove dangling references to box-packing tests

These were removed in commit c47abb5f, before 3.96.0.

Signed-off-by: Simon McVittie <smcv@debian.org>
6 years agogtk4.pc: Move third-party libraries from Libs to Libs.private
Simon McVittie [Thu, 18 Jul 2019 08:20:57 +0000 (09:20 +0100)]
gtk4.pc: Move third-party libraries from Libs to Libs.private

This avoids "overlinking". These libraries are an implementation detail
of particular backends, so they only need to appear on library consumers'
linker command-lines if the dependency cannot be picked up from the
shared library automatically (when linking statically, or when building
on a deficient OS that doesn't support transitive dependencies between
shared libraries, in which case pkg-config should be built with
--enable-indirect-deps).

Signed-off-by: Simon McVittie <smcv@debian.org>
6 years agoscrollbar: Use a box layout
Timm Bäder [Mon, 15 Jul 2019 05:48:46 +0000 (07:48 +0200)]
scrollbar: Use a box layout

Makes a lot more sense than the intermediate box just for its layout.

6 years agotext: Don't leak emoji chooser
Timm Bäder [Mon, 15 Jul 2019 04:56:19 +0000 (06:56 +0200)]
text: Don't leak emoji chooser

6 years agomenu: Fix an uninitialized value
Timm Bäder [Mon, 15 Jul 2019 04:43:25 +0000 (06:43 +0200)]
menu: Fix an uninitialized value

If the menu does not have any children, we'd otherwise end up calling
g_object_ref() on an uninitialized value.

6 years agoprogressbar: Use box layout
Timm Bäder [Mon, 15 Jul 2019 04:38:51 +0000 (06:38 +0200)]
progressbar: Use box layout

Instead of the custom layouting we did before.

6 years agotext: Move some locals into the closest scope
Timm Bäder [Mon, 15 Jul 2019 03:38:25 +0000 (05:38 +0200)]
text: Move some locals into the closest scope

6 years agotext: Remove some useless casts
Timm Bäder [Mon, 15 Jul 2019 03:19:02 +0000 (05:19 +0200)]
text: Remove some useless casts

6 years agotext: Move some locals into the closest scope
Timm Bäder [Mon, 15 Jul 2019 03:17:46 +0000 (05:17 +0200)]
text: Move some locals into the closest scope

6 years agoUpdate Catalan translation
Jordi Mas [Sun, 14 Jul 2019 09:25:12 +0000 (11:25 +0200)]
Update Catalan translation

6 years agoRemove some dead assignments
Timm Bäder [Sat, 13 Jul 2019 16:49:08 +0000 (18:49 +0200)]
Remove some dead assignments

6 years agoAdwaita: Add fontbutton spacing back
Timm Bäder [Sat, 13 Jul 2019 16:10:15 +0000 (18:10 +0200)]
Adwaita: Add fontbutton spacing back

6 years agoadwaita: Remove a dead rule
Timm Bäder [Sat, 13 Jul 2019 16:08:45 +0000 (18:08 +0200)]
adwaita: Remove a dead rule

GtkFileChooserButtons are called "filechooserbutton" these days, not
button.file

6 years agogl renderer: Fix opacity nodes with overlapping child nodes
Timm Bäder [Sat, 13 Jul 2019 15:35:59 +0000 (17:35 +0200)]
gl renderer: Fix opacity nodes with overlapping child nodes

6 years agoUpdated Lithuanian translation
Aurimas Černius [Sat, 13 Jul 2019 15:28:21 +0000 (18:28 +0300)]
Updated Lithuanian translation

6 years agopopover: Fix a broken cast
Timm Bäder [Sat, 13 Jul 2019 15:06:22 +0000 (17:06 +0200)]
popover: Fix a broken cast

The widget passed here is priv->relative_to, not the popover.

6 years agorendernodeparser: fix typo
Timm Bäder [Sat, 13 Jul 2019 09:12:47 +0000 (11:12 +0200)]
rendernodeparser: fix typo

6 years agofishbowl: Plug a small leak
Timm Bäder [Sat, 13 Jul 2019 08:10:17 +0000 (10:10 +0200)]
fishbowl: Plug a small leak

6 years agopicture: Unref previous paintable
Timm Bäder [Sat, 13 Jul 2019 07:38:28 +0000 (09:38 +0200)]
picture: Unref previous paintable

We were leaking all of them.

6 years agosuppression file: Add glReadPixels mesa exception
Timm Bäder [Sat, 13 Jul 2019 07:38:14 +0000 (09:38 +0200)]
suppression file: Add glReadPixels mesa exception

6 years agonode editor: Manually unrealize all created renderers
Timm Bäder [Sat, 13 Jul 2019 07:37:47 +0000 (09:37 +0200)]
node editor: Manually unrealize all created renderers

This has not been a problem before since we were leaking them.

6 years agoMerge branch 'fix-issue-2014-gtk4' into 'master'
Timm Bäder [Fri, 12 Jul 2019 09:59:38 +0000 (09:59 +0000)]
Merge branch 'fix-issue-2014-gtk4' into 'master'

Fix a string leak in gtkemojicompletion.c [gtk4]

Closes #2014

See merge request GNOME/gtk!993

6 years agoFix a string leak
Luca Bacci [Fri, 12 Jul 2019 08:43:44 +0000 (08:43 +0000)]
Fix a string leak

Fixes #2014

6 years agofpsoverlay: Fix fps overlay position
Timm Bäder [Wed, 10 Jul 2019 06:26:00 +0000 (08:26 +0200)]
fpsoverlay: Fix fps overlay position

6 years agoMerge branch 'wip/baedert/accelmap' into 'master'
Matthias Clasen [Tue, 9 Jul 2019 19:39:58 +0000 (19:39 +0000)]
Merge branch 'wip/baedert/accelmap' into 'master'

AccelMap: Sort accels before iterating over them in foreach()

See merge request GNOME/gtk!980

6 years agoMerge branch 'wip/baedert/for-master' into 'master'
Matthias Clasen [Tue, 9 Jul 2019 19:39:13 +0000 (19:39 +0000)]
Merge branch 'wip/baedert/for-master' into 'master'

Improve the valgrind experience

See merge request GNOME/gtk!984

6 years agoUpdate Indonesian translation
Kukuh Syafaat [Tue, 9 Jul 2019 07:56:21 +0000 (07:56 +0000)]
Update Indonesian translation

6 years agoUpdate Basque translation
Asier Sarasua Garmendia [Mon, 8 Jul 2019 20:19:10 +0000 (20:19 +0000)]
Update Basque translation

6 years agoUpdate Basque translation
Asier Sarasua Garmendia [Mon, 8 Jul 2019 20:14:08 +0000 (20:14 +0000)]
Update Basque translation

6 years agoUpdate Basque translation
Asier Sarasua Garmendia [Mon, 8 Jul 2019 19:18:08 +0000 (19:18 +0000)]
Update Basque translation

6 years agodemos/constraint-editor: Fix linking on MSVC builds
Chun-wei Fan [Mon, 8 Jul 2019 10:37:27 +0000 (18:37 +0800)]
demos/constraint-editor: Fix linking on MSVC builds

We must apply the /entry:mainCRTStartup linker flag in order to link GTK
apps in pure GUI form.  This follows what is done in demos/gtk-demo,
etc.

6 years agoMerge branch 'ui-enum-values' into 'master'
Timm Bäder [Mon, 8 Jul 2019 07:14:48 +0000 (07:14 +0000)]
Merge branch 'ui-enum-values' into 'master'

Change the few examples that use a full GTK_ enum value in .ui files.

See merge request GNOME/gtk!987

6 years agoMerge branch 'gltexsubimage2d' into 'master'
Timm Bäder [Mon, 8 Jul 2019 07:14:13 +0000 (07:14 +0000)]
Merge branch 'gltexsubimage2d' into 'master'

use glTexSubImage2D instead of glTextureSubImage2D

Closes #2005

See merge request GNOME/gtk!986

6 years agoMerge branch 'glsl-float-literals' into 'master'
Timm Bäder [Mon, 8 Jul 2019 07:10:41 +0000 (07:10 +0000)]
Merge branch 'glsl-float-literals' into 'master'

glsl: use float literals

See merge request GNOME/gtk!985

6 years agoChange the few examples that use a full GTK_ enum value in .ui files.
Robert Ancell [Mon, 8 Jul 2019 03:52:28 +0000 (15:52 +1200)]
Change the few examples that use a full GTK_ enum value in .ui files.

Lowercase versions work just as well and are much more readable.

6 years agoUpdate Polish translation
Piotr Drąg [Sun, 7 Jul 2019 11:22:10 +0000 (13:22 +0200)]
Update Polish translation

6 years agowidget: Remove queue_resize_no_redraw
Timm Bäder [Sun, 7 Jul 2019 05:43:08 +0000 (07:43 +0200)]
widget: Remove queue_resize_no_redraw

We always invalidate the widget in size_allocate() anyway.

6 years agowidget: Make queue_compute_expand() private
Timm Bäder [Sun, 7 Jul 2019 05:36:29 +0000 (07:36 +0200)]
widget: Make queue_compute_expand() private

Nobody needs to call this anymore.

6 years agocompare-render: Don't unref an invalid GFile
Timm Bäder [Sun, 7 Jul 2019 05:23:05 +0000 (07:23 +0200)]
compare-render: Don't unref an invalid GFile

We already unref it when the g_file_make_directory_with_parents fails.

6 years agogl renderer: Properly clean up program state transforms
Timm Bäder [Sat, 6 Jul 2019 11:38:55 +0000 (13:38 +0200)]
gl renderer: Properly clean up program state transforms

6 years agoiconhelper: Try to avoid some save/restore calls
Timm Bäder [Sat, 6 Jul 2019 10:57:36 +0000 (12:57 +0200)]
iconhelper: Try to avoid some save/restore calls

GtkImage already does something similar so we often end up with 0/0
here. Avoid the save()/restore() calls in GtkSnapshot in that case.

6 years agotransform: Fix identity transform fast paths
Timm Bäder [Sat, 6 Jul 2019 10:56:28 +0000 (12:56 +0200)]
transform: Fix identity transform fast paths

Returning an extra ref will cause leaks later.

6 years agowidget: Unref previous transform
Timm Bäder [Sat, 6 Jul 2019 08:26:11 +0000 (10:26 +0200)]
widget: Unref previous transform

6 years agowidget factory: Plug a memory leak
Timm Bäder [Sat, 6 Jul 2019 07:57:35 +0000 (09:57 +0200)]
widget factory: Plug a memory leak

6 years agoactionmuxer: Plug a memory leak
Timm Bäder [Sat, 6 Jul 2019 05:13:41 +0000 (07:13 +0200)]
actionmuxer: Plug a memory leak

6 years agoAdd a gtk valgrind suppression file
Timm Bäder [Sat, 6 Jul 2019 07:50:44 +0000 (09:50 +0200)]
Add a gtk valgrind suppression file

Not ideal but otherwise I get 30k line output from valgrind when just
running the widget factory. It's mostly mesa but still.

6 years agouse glTexSubImage2D instead of glTextureSubImage2D
Elias Aebi [Sat, 6 Jul 2019 14:23:21 +0000 (16:23 +0200)]
use glTexSubImage2D instead of glTextureSubImage2D

6 years agoglsl: use float literals
Elias Aebi [Sat, 6 Jul 2019 12:42:08 +0000 (14:42 +0200)]
glsl: use float literals

6 years agocssprovider: Fix a memory leak in load_internal
Timm Bäder [Sat, 6 Jul 2019 07:50:07 +0000 (09:50 +0200)]
cssprovider: Fix a memory leak in load_internal

We create a new GBytes but never unref it.

6 years agox11: Make sure stream stays alive long enough
Benjamin Otte [Fri, 5 Jul 2019 18:55:54 +0000 (20:55 +0200)]
x11: Make sure stream stays alive long enough

When unreffing the stream from a different thread, the close function
will schedule its cleanup asynchornously in the main thread.
We need to make sure the stream object stays alive for as long as
that hasn't happened, so ref() it.

Fixes #2003

6 years agoMerge branch 'header-custom-title-valign' into 'master'
Timm Bäder [Thu, 4 Jul 2019 12:45:13 +0000 (12:45 +0000)]
Merge branch 'header-custom-title-valign' into 'master'

headerbar: Don't change the custom title's valign

See merge request GNOME/gtk!981

6 years agoheaderbar: Don't change the custom title's valign
Adrien Plazas [Thu, 4 Jul 2019 11:03:37 +0000 (13:03 +0200)]
headerbar: Don't change the custom title's valign

This allows custom titles to use the vertical alignment of their choice
without having to set it manually after it has been added to the header
bar, hence allowing them to define their preferred alignment from a UI
template.

This is useful for widgets like the view switcher which requires filling
the header bar's whole height.

6 years agoaccelmap: Sort accels before interating over them in foreach()
Timm Bäder [Wed, 3 Jul 2019 08:07:21 +0000 (10:07 +0200)]
accelmap: Sort accels before interating over them in foreach()

6 years agoaccelmap: Avoid a confusing goto
Timm Bäder [Wed, 3 Jul 2019 08:02:45 +0000 (10:02 +0200)]
accelmap: Avoid a confusing goto

6 years agoci: Comment job, not just the stage
Emmanuele Bassi [Wed, 3 Jul 2019 16:57:27 +0000 (17:57 +0100)]
ci: Comment job, not just the stage

GitLab doesn't like it when we keep a job but disable the stage.

6 years agoci: Disable deploy jobs
Emmanuele Bassi [Wed, 3 Jul 2019 16:54:32 +0000 (17:54 +0100)]
ci: Disable deploy jobs

The version of gtk-doc in our CI image is not new enough to cope with
the fact that GTK lost container properties.

6 years agoMerge branch 'wip/frame-clock-consumers' into 'master'
Benjamin Otte [Wed, 3 Jul 2019 16:21:32 +0000 (16:21 +0000)]
Merge branch 'wip/frame-clock-consumers' into 'master'

Frame clock consumers

See merge request GNOME/gtk!971

6 years agoMerge branch 'layout-manager-ref' into 'master'
Emmanuele Bassi [Wed, 3 Jul 2019 13:25:44 +0000 (13:25 +0000)]
Merge branch 'layout-manager-ref' into 'master'

widget: Don't lose a layout manager ref

See merge request GNOME/gtk!977

6 years agowidget: Don't lose a layout manager ref
Matthias Clasen [Wed, 3 Jul 2019 13:16:35 +0000 (13:16 +0000)]
widget: Don't lose a layout manager ref

gtk_widget_set_layout_manager is transfer-full,
so we must give it a new reference from set_property
to implement object property semantics properly.

6 years agoUpdated Spanish translation
Daniel Mustieles [Wed, 3 Jul 2019 09:45:12 +0000 (11:45 +0200)]
Updated Spanish translation

6 years agogdksurface: Make all surfaces listen to the frame clock signals
Jonas Ådahl [Fri, 28 Jun 2019 18:54:16 +0000 (20:54 +0200)]
gdksurface: Make all surfaces listen to the frame clock signals

Instead of the toplevel driving popups, have the popups listen to the
frame clock themselves. Otherwise, if the toplevel for some reason isn't
drawn by the compositor and stops drawing new frames, popups wouldn't
get painted either.

6 years agogdk/frameclock: Make surfaces inhibit freeze
Jonas Ådahl [Fri, 28 Jun 2019 16:45:44 +0000 (18:45 +0200)]
gdk/frameclock: Make surfaces inhibit freeze

To make a frame clock tick as long as any of the associated surfaces
expect to receive ticks, make the surfaces inhibit freezing the clock,
instead of directly tell the frame clock to freeze itself.

This makes it so that as long as any surface using a certain frame clock
is not frozen (e.g. just received a frame event from the display
server), the frame clock will not be frozen.

With this, the frame clock is initiated as frozen, and won't be thawed
until any surface inhibits freeze. It will be frozen again, when every
surface has that previously inhibited freeze uninhibited freeze.